<?php
session_start();
// 定义验证码字符
$str="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// 打乱字符串$str
$str=str_shuffle($str);
// 在打乱字符串中，从第一个位置开始，共产生5个
$code=substr($str,0,5);
// 将产生的验证码赋值给超级全局变量，标记到服务器上
// 便于用户表单输入做校验
$_SESSION['yzcode']=$code;
$image=imagecreatetruecolor(100,30);// 创建画布
$bgcolor=imagecolorallocate($image,255,255,255);// 定义颜色
imagefill($image, 0, 0, $bgcolor);// 填充画布
// 随机产生字体颜色
function randtextcolor($image){
	return imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));}
	// 在$image画布上，按照规定的字体大小，坐标，内容，颜色产生验证码
	imagestring($image, rand(5,8), rand(0,50), rand(0,15), $code, randtextcolor($image));

	// 随机产生干扰点颜色
	function randpointcolor($image){
		return imagecolorallocate($image, rand(70,200), rand(70,200), rand(70,200));}
	// 产生100个干扰点
	for($i=0;$i<100;$i++){
		imagesetpixel($image, rand(1,99), rand(1,29), randpointcolor($image));}

	// 随机产生干扰线颜色
	function randlinecolor($image){
		return imagecolorallocate($image, rand(80,220), rand(80,220), rand(80,220));}
		// 产生3条干扰线
		for($i=0;$i<3;$i++){
			imageline($image, 0, rand(0,30), 100, rand(0,30), randlinecolor($image));}
		
	// 生成png图片
	header("Content-Type:image/png");
	imagepng($image);
	imagedestroy($image);// 销毁图片资源





?>